﻿using System;

namespace LibraryGuard.Interfaces.Utilities
{
	/// <summary>
	/// Scheduler.
	/// </summary>
	public interface IScheduler
	{
		/// <summary>
		/// Time between runs.
		/// </summary>
		TimeSpan DueTime { get; }

		/// <summary>
		/// Time after which execution stops.
		/// </summary>
		TimeSpan WorkingTime { get; }

		/// <summary>
		/// Starts scheduling.
		/// </summary>
		void Start();
		
		/// <summary>
		/// Stops work.
		/// </summary>
		void Stop();
	}
}
